package view;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

/**
 * Der Mainframe der GUI. Sie zeigt die Grundlegenden Elemente
 * der Gui an.
 * @author daishy
 * @date 13.03.2008 15:17:41
 *
 */
public class Mainframe extends JFrame
{
	private static final long serialVersionUID = 1L;
	
	/**
	 * Das Panel in dem die einzelnen Views stehen
	 */
	private JTabbedPane tabPanel;

	/**
	 * CTor.
	 */
	public Mainframe()
	{
		super("Elyrion Charakter Generator Alpha");
		
		setJMenuBar(createMenu());
		add(createPanel());
		
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
		setSize(500, 500);
		setVisible(true);
	}
	
	/**
	 * Die Methode fuegt ein neues Tab dem Tabpanel hinzu
	 * @param name
	 * @param panel
	 */
	public void addTab(String name, JPanel panel)
	{
		this.tabPanel.add(name, panel);		
	}
	
	/**
	 * Die Methode fuegt das Tabfenster hinzu
	 * @return
	 */
	public JTabbedPane createPanel()
	{
		this.tabPanel = new JTabbedPane();		
		this.tabPanel.setOpaque(false);
		return this.tabPanel;
	}
	
	/**
	 * Die Methode fuegt das Menu hinzu
	 */
	private JMenuBar createMenu()
	{
		JMenuBar menu = new JMenuBar();
		
		// Dateimenue
		JMenu file = new JMenu("Datei");
		file.add(new AbstractAction("Beenden")
			{
				private static final long serialVersionUID = 1L;

				public void actionPerformed(ActionEvent e) {
					setVisible(false);
					dispose();				
				}
			});
		
		menu.add(file);

		return menu;
	}
	
	

}
